// 版权所有2011 Go作者。保留所有权利。
// 此源代码的使用受BSD样式
// 许可证的约束，该许可证可以在许可证文件中找到。

package types

// 指针表示指针类型。
type Pointer struct {
	base Type // 元素类型
}

// NewPointer返回给定元素（基）类型的新指针类型。
func NewPointer(elem Type) *Pointer { return &Pointer{base: elem} }

// Elem返回给定指针p的元素类型。
func (p *Pointer) Elem() Type { return p.base }

func (t *Pointer) Underlying() Type { return t }
func (t *Pointer) String() string   { return TypeString(t, nil) }
